home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / irc_i_dodatki / eggdrop / eggdrop11.lha / scripts / local.tcl < prev    next >
Text File  |  1997-01-15  |  2KB  |  68 lines

  1. #
  2. #  This used to be a patch to the C code by answer, but it's better
  3. #  suited to a Tcl script using the FILT binding.  it intercepts all
  4. #  text starting with ' from party-line users, and sends that text
  5. #  to local users only.  -robey
  6. #
  7. #  Modified again by answer to include various .me things in localmode...
  8. #
  9. # 'me jumps about excitedly!
  10. # => user jumps about excitedly!
  11. # 'me, tired of living, jumps off a bridge.
  12. # => user, tired of living, jumps off a bridge.
  13. # 'me'll never do that again!
  14. # => user'll never do that again!
  15. #
  16. # actually, any '* will work...
  17.  
  18. bind filt - '* local_chat
  19. proc local_chat {idx text} {
  20.   set done 0
  21.   set text [string range $text 1 end]
  22.   set whom [idx2hand $idx]
  23.  
  24.   set strdex [string first " " $text]
  25.   if { $strdex < 0 } {
  26.     set done 1
  27.     set whom "=$whom=>"
  28.   }
  29.  
  30.   if { !$done && ([string compare [string range $text 0 2] "me "] == 0) } {
  31.     set done 1
  32.     set text [string range $text 3 end]
  33.     set whom "=> $whom"
  34.   }
  35.  
  36.   if { !$done && ([string compare [string range $text 0 2] "me'"] == 0) } {
  37.     set done 1
  38.     set strdex [string first " " $text]
  39.     if { $strdex < 0 } { return 1 }
  40.     set whom "=> $whom'[string range $text 3 [expr $strdex-1]]"
  41.     set text [string range $text [expr $strdex+1] end]
  42.   }
  43.  
  44.   if { !$done && ([string compare [string range $text 0 3] "me, "] == 0) } {
  45.     set done 1
  46.     set text [string range $text 4 end]
  47.     set whom "=> $whom,"
  48.   }
  49.  
  50.   if {!$done} {
  51.     set done 1
  52.     set whom "=$whom=>"
  53.   }
  54.  
  55.   foreach user [dcclist] {
  56.     if { ([lindex $user 3] == "chat") && ([getchan $idx] >= 0) &&
  57.          (([lindex $user 0] != $idx) || ([echo $idx])) } {
  58.         putdcc [lindex $user 0] "$whom $text"
  59.     }
  60.     if { ([lindex $user 3] == "files") &&
  61.          (([lindex $user 0] != $idx) || ([echo $idx])) } {
  62.         putdcc [lindex $user 0] "$whom $text"
  63.     }
  64.   }
  65.  
  66.   return 1
  67. }
  68.